Tape friction measurement

ABSTRACT

According to one embodiment, a method includes determining whether a primary velocity is valid and/or in a steady state; averaging a velocity error over a predetermined time period upon determining the primary velocity is valid and/or in a steady state; and calculating a new friction value based on the averaged velocity error.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/600,094, filed Aug. 30, 2012, now U.S. Pat. No. 8,780,484, which isherein incorporated by reference.

BACKGROUND

The present invention relates to data storage systems, and moreparticularly, this invention relates to providing a system, method andcomputer program product for improving magnetic tape frictionmeasurements.

In magnetic storage systems, data is read from and written onto magneticrecording media utilizing magnetic transducers. Data is written on themagnetic recording media by moving a magnetic recording transducer to aposition over the media where the data is to be stored. The magneticrecording transducer then generates a magnetic which encodes the datainto the magnetic media. Data is read from the media by similarlypositioning the magnetic read transducer and then sensing the magneticfield of the magnetic media. Read and write operations may beindependently synchronized with the movement of the media to ensure thatthe data can be read from and written to the desired location on themedia.

An important and continuing goal in the data storage industry is that ofincreasing the density of data stored on a medium. For tape storagesystems, that goal has led to increasing the track and linear bitdensity on recording tape, and decreasing the thickness of the magnetictape medium. However, the development of small footprint, higherperformance tape drive systems has created various problems in thedesign of a tape head assembly for use in such systems.

In a tape drive system, magnetic tape is moved over the surface of thetape head at high speed. Usually the tape head and tape surfaceroughness are designed to minimize the spacing between the head and thetape. The spacing between the magnetic head and the magnetic tape iscrucial so that the recording gaps of the transducers, which are thesource of the magnetic recording flux, are in near contact with the tapeto effect writing sharp transitions, and so that the read element is innear contact with the tape to provide effective coupling of the magneticfield from the tape to the read element.

BRIEF SUMMARY

According to one embodiment, a method includes determining whether aprimary velocity is valid and/or in a steady state; averaging a velocityerror over a predetermined time period upon determining the primaryvelocity is valid and/or in a steady state; and calculating a newfriction value based on the averaged velocity error.

According to another embodiment, a system includes a magnetic head; adrive mechanism for passing a magnetic medium over the magnetic head;and a controller electrically coupled to the magnetic head, wherein thecontroller is configured and/or programmable to: determine whether aprimary velocity is valid and/or in a steady state; average a velocityerror over a predetermined time period upon determining the primaryvelocity is valid and/or in a steady state; calculate a new frictionvalue based on the averaged velocity error; and adjust a motor speed ofthe drive mechanism based on the new friction value.

According to yet another embodiment, a computer program product includesa computer readable storage medium having program instructions embodiedtherewith, the program instructions readable and/or executable by aprocessor to cause the processor to: determine whether a primaryvelocity is valid and/or in a steady state; average a velocity errorover a predetermined time period upon determining the primary velocityis valid and/or in a steady state; and calculate a new friction valuebased on the averaged velocity error.

Any of these embodiments may be implemented in a magnetic data storagesystem such as a tape drive system, which may include a magnetic head, adrive mechanism for passing a magnetic medium (e.g., recording tape)over the magnetic head, and a controller electrically coupled to themagnetic head.

Other aspects and embodiments of the present invention will becomeapparent from the following detailed description, which, when taken inconjunction with the drawings, illustrate by way of example theprinciples of the invention.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1A is a schematic diagram of a simplified tape drive systemaccording to one embodiment.

FIG. 1B is a schematic diagram of a tape cartridge according to oneembodiment.

FIG. 2 illustrates a side view of a flat-lapped, bi-directional,two-module magnetic tape head according to one embodiment.

FIG. 2A is a tape bearing, surface view taken from Line 2A of FIG. 2.

FIG. 2B is a detailed view taken from Circle 2B of FIG. 2A.

FIG. 2C is a detailed view of a partial tape bearing surface of a pairof modules.

FIG. 3 is a partial tape bearing surface view of a magnetic head havinga write-read-write configuration.

FIG. 4 is a partial tape bearing surface view of a magnetic head havinga read-write-read configuration.

FIG. 5 is a side view of a magnetic tape head with three modulesaccording to one embodiment where the modules all generally lie alongabout parallel planes.

FIG. 6 is a side view of a magnetic tape head with three modules in atangent (angled) configuration.

FIG. 7 is a side view of a magnetic tape head with three modules in anoverwrap configuration.

FIG. 8 is a flow diagram of a method according to one embodiment.

FIG. 9 is an exemplary decision tree of a method according to oneembodiment.

FIG. 10 is a flow diagram of a method according to one embodiment.

DETAILED DESCRIPTION

The following description is made for the purpose of illustrating thegeneral principles of the present invention and is not meant to limitthe inventive concepts claimed herein. Further, particular featuresdescribed herein can be used in combination with other describedfeatures in each of the various possible combinations and permutations.

Unless otherwise specifically defined herein, all terms are to be giventheir broadest possible interpretation including meanings implied fromthe specification as well as meanings understood by those skilled in theart and/or as defined in dictionaries, treatises, etc.

It must also be noted that, as used in the specification and theappended claims, the singular forms “a,” “an” and “the” include pluralreferents unless otherwise specified. It will be further understood thatthe terms “comprises” and/or “comprising,” when used in thisspecification, specify the presence of stated features, integers, steps,operations, elements, and/or components, but do not preclude thepresence or addition of one or more other features, integers, steps,operations, elements, components, and/or groups thereof.

The following description discloses several preferred embodiments ofmagnetic storage systems, as well as operation and/or component partsthereof.

In one general embodiment, a method includes setting a default functionvalue to a predetermined value, determining whether a primary velocityis valid, determining a velocity error, determining whether the velocityerror is in a predetermined range, accumulating the velocity error whenthe velocity error is determined to be in the predetermined range,repeating, until a time period has elapsed, each of: the determining thevelocity error, the determining whether the velocity error is in thepredetermined range, and the accumulating the velocity error when thevelocity error is determined to be in the predetermined range, andcalculating a new friction value based on the accumulated velocityerror.

In another general embodiment, a system includes a magnetic head, adrive mechanism for passing a magnetic medium over the magnetic head,and a controller electrically coupled to the magnetic head, wherein thecontroller is configured and/or programmable to: set a default frictionvalue to a predetermined value, determine whether a primary velocity isvalid, determine a velocity error, determine whether the velocity erroris in a predetermined range, accumulate the velocity error when thevelocity error is determined to be in the predetermined range, repeat,until a time period has elapsed each of the determining the velocityerror, the determining whether the velocity en or is in thepredetermined range, and the accumulating the velocity error when thevelocity error is determined to be in the predetermined range, andcalculate a new friction value based on the accumulated velocity error.

In yet another general embodiment, a computer program product includes acomputer readable storage medium having program code embodied therewith,the program code readable/executable by a processor to: set, a delimitfriction value to a predetermined value, determine whether a primaryvelocity is valid, determine a velocity error, determine whether thevelocity error is in a predetermined range, accumulate the velocityerror when the velocity error is determined to be in the predeterminedrange, repeat, until a time period has elapsed, each of: the determiningthe velocity error, the determining whether the velocity error is in thepredetermined range, and the accumulating the velocity error when thevelocity error is determined to be in the predetermined range, andcalculate a new friction value based on the accumulated velocity error.

In a further general embodiment, a method includes setting a defaultfriction value to a predetermined value, determining whether a primaryvelocity is valid, wherein the primary velocity is derived from one ormore read back signals from one or more sensors reading a tape,determining a velocity error, determining whether the velocity error isin a predetermined range, accumulating the velocity error when thevelocity error is determined to be in the predetermined range,repeating, until a time period has elapsed, each of: the determiningwhether the primary velocity is valid, the determining the velocityerror, the determining whether the velocity error is in thepredetermined range, and the accumulating the velocity error when thevelocity error is determined to be in the predetermined range, resettingthe accumulated velocity error to a default value when the primaryvelocity is not valid or when the velocity error is not within thepredetermined range, calculating a new friction value based on theaccumulated velocity error, wherein the new friction value(New_Friction) is calculated according to:New_Friction=Default_Friction+gain*(Verr_accum/sample), whereDefault_Friction is the predetermined default friction value, gain is arepresentation of current, Verr_accum is accumulated velocity errorduring a time period, and sample is a number of samples taken in thetime period, wherein the new friction value is used to adjust a motorspeed, and resetting the accumulated velocity error to the default valueafter calculating the new friction value.

FIG. 1A illustrates a simplified tape drive 100 of a tape-based datastorage system, which may be employed in the context of the presentinvention. While one specific implementation of a tape drive is shown inFIG. 1A, it should be noted that the embodiments described herein may beimplemented in the context of any type of tape drive system.

As shown, a tape supply cartridge 120 and a take-up reel 121 areprovided to support a tape 122. One or more of the reels may form partof a removable cartridge and are not necessarily part of the system 100.The tape drive, such as that illustrated in FIG. 1A, may further includedrive motor(s) 124 to drive the tape supply cartridge 120 and thetake-up reel 121 to move the tape 122 over a tape head 126 of any type.Such head may include an array of readers, writers, or both. The tapedrive may also include a driver mechanism 127 to supply current to thedrive motor(s) 124. The driver mechanism 127 may be coupled to acontroller 128 and the drive the drive motor(s) 124 via a cable.

Guides 125 guide the tape 122 across the tape head 126. Such tape head126 is in turn coupled to a controller 128 via a cable 130. Thecontroller 128, may be or include a processor and/or any logic forcontrolling any subsystem of the drive 100. For example, the controller128 typically controls head functions such as servo following, datawriting, data reading, etc. The controller 128 may operate under logicknown in the art, as well as any logic disclosed herein. The controller128 may be coupled to a memory 136 of any known type, which may storeinstructions executable by the controller 128. Moreover, the controller128 may be configured and/or programmable to perform or control some orall of the methodology presented herein. Thus, the controller may beconsidered configured to perform various operations by way of logicprogrammed into a chip; software, firmware, or other instructions beingavailable to a processor; etc. and combinations thereof.

The cable 130 may include read/write circuits to transmit data to thehead 126 to be recorded on the tape 122 and to receive data read by thehead 126 from the tape 122. An actuator 132 controls position of thehead 126 relative to the tape 122.

An interface 134 may also be provided for communication between the tapedrive 100 and a host (integral or external) to send and receive the dataand for controlling the operation of the tape drive 100 andcommunicating the status of the tape drive 100 to the host, all as willbe understood by those of skill in art.

FIG. 1B illustrates an exemplary tape cartridge 150 according to oneembodiment. Such tape cartridge 150 may be used with a system such asthat shown in FIG. 1A. As shown, the tape cartridge 150 includes ahousing 152, a tape 122 in the housing 152, and a nonvolatile memory 156coupled to the housing 152. In some approaches, the nonvolatile memory156 may be embedded inside the housing 152, as shown in FIG. 1B. In moreapproaches, the nonvolatile memory 156 may be attached to the inside oroutside of the housing 152 without modification of the housing 152. Forexample, the nonvolatile memory may be embedded in a self-adhesivelabel. In one preferred embodiment, the nonvolatile memory 156 may be aFlash memory device, ROM device, etc., embedded into or coupled to theinside or outside of the tape cartridge 150. The nonvolatile memory isaccessible by the tape drive and the tape operating software (the driversoftware), and/or other device.

By way of example, FIG. 2 illustrates a side view of a flat-lapped,bi-directional, two-module magnetic tape head 200 which may beimplemented in the context of the present invention. As shown, the headincludes a pair of bases 202, each equipped with a module 204, and fixedat a small angle α with respect to each other. The bases may be“U-beams” that are adhesively coupled together. Each module 204 includesa substrate 204A and a closure 204B with a thin film portion, commonlyreferred to as a “gap” in which the readers and/or writers 206 areformed. In use, a tape 208 is moved over the modules 204 along a media(tape) bearing surface 209 in the manner shown for reading, and writingdata on the tape 208 using the readers and writers. The wrap angle θ ofthe tape 208 at edges going onto and exiting the flat media supportsurfaces 209 are usually between about 0.1 degree and about 5 degrees.

The substrates 204A are typically constructed of a wear resistantmaterial, such as a ceramic. The closures 204B made of the same orsimilar ceramic as the substrates 204A.

The readers and writers may be arranged in a piggyback or mergedconfiguration. An illustrative piggybacked configuration comprises a(magnetically inductive) writer transducer on top of (or below) a(magnetically shielded) reader transducer (e.g., a magnetoresistivereader, etc.), wherein the poles of the writer and the shields of thereader are generally separated. An illustrative merged configurationcomprises one reader shield in the same physical layer as one writerpole (hence, “merged”). The readers and writers may also be arranged inan interleaved configuration. Alternatively, each array of channels maybe readers or writers only. Any of these arrays may contain one or moreservo track readers for reading servo data on the medium.

FIG. 2A illustrates the tape bearing surface 209 of one of the modules204 taken from Line 2A of FIG. 2. A representative tape 208 is shown indashed lines. The module 204 is preferably long enough to be able tosupport the tape as the head steps between data bands.

In this example, the tape 208 includes 4 to 22 data bands, e.g., with 16data hands and 17 servo tracks 210, as shown in FIG. 2A on a one-halfinch wide tape 208. The data bands are defined between servo tracks 210.Each data hand may include a number of data tracks, for example 1024data tracks (not shown). During read/write operations, the readersand/or writers 206 are positioned to specific track positions within oneof the data bands. Outer readers, sometimes called servo readers, readthe servo tracks 210. The servo signals are in turn used to keep thereaders and/or writers 206 aligned with a particular set of tracksduring the read/write operations.

FIG. 2B depicts a plurality of readers and/or writers 206 formed in agap 218 on the module 204 in Circle 2B of FIG. 2A. As shown, the arrayof readers and writers 206 includes, for example 16 writers 214, 16readers 216 and two servo readers 212, though the number of elements mayvary. Illustrative embodiments include 8, 16, 32, 40, and 64 readersand/or writers 206 per array. A preferred embodiment includes 32 readersper array and/or 32 writers per array, where the actual number oftransducing elements could be greater, e.g., 33, 34, etc. This allowsthe tape to travel more slowly, thereby reducing speed-induced trackingand mechanical difficulties and/or execute fewer “wraps” to fill or readthe tape. While the readers and writers may be arranged in a piggybackconfiguration as shown in FIG. 2B, the readers 216 and writers 214 mayalso be arranged in an interleaved configuration. Alternatively, eacharray of readers and/or writers 206 may be readers or writers only, andthe arrays may contain one or more servo readers 212. As noted byconsidering FIGS. 2 and 2A-B together, each module 204 may include acomplementary set of readers and/or writers 206 for such things asbi-directional reading and writing, read-while-write capability,backward compatibility, etc.

FIG. 2C shows a partial tape bearing surface view of complimentarymodules of a magnetic tape head 200 according to one embodiment. In thisembodiment, each module has a plurality of read/write (R/W) pairs in apiggyback configuration formed on a common substrate 204A and anoptional electrically insulative layer 236. The writers, exemplified bythe write head 214 and the readers, exemplified by the read head 216,are aligned parallel to a direction of travel of a tape mediumthereacross to form an R/W pair, exemplified by the R/W pair 222.

Several R/W pairs 222 may be present, such as 8, 16, 32 pairs, etc. TheR/W pairs 222 as shown are linearly aligned in a direction generallyperpendicular to a direction of tape travel thereacross. However, thepairs may also be aligned diagonally, etc. Servo readers 212 arepositioned on the outside of the array of R/W pairs, the function ofwhich is well known.

Generally, the magnetic tape medium moves in either a forward or reversedirection as indicated by arrow 220. The magnetic tape medium and headassembly 200 operate in a transducing relationship in the mannerwell-known in the art. The piggybacked MR head assembly 200 includes twothin-film modules 224 and 226 of generally identical construction.

Modules 224 and 226 are joined together with a space present betweenclosures 204B thereof (partially shown) to form a single physical unitto provide read-while-write capability by activating the writer of theleading module and reader of the trailing module aligned with the writerof the leading module parallel to the direction of tape travel relativethereto. When a module 224, 226 of a piggyback head 200 is constructed,layers are formed in the gap 218 created above an electricallyconductive substrate 204A (partially shown), e.g., of AlTiC, ingenerally the following order for the R/W pairs 2221 an insulating layer236, a first shield 232 typically of an iron alloy such as NiFe(permalloy), CZT or Al—Fe—Si (Sendust), a sensor 234 for sensing a datatrack on a magnetic medium, a second shield 238 typically of anickel-iron alloy (e.g., 80/20 Permalloy), first and second writer poletips 228, 230, and a coil (not shown).

The first and second writer poles 228, 230 may be fabricated from highmagnetic moment materials such as 45/55 NiFe. Note that these materialsare provided by way of example only, and other materials may be used.Additional layers such as insulation between the shields and/or poletips and an insulation layer surrounding the sensor may be present.Illustrative materials for the insulation include alumina and otheroxides, insulative polymers, etc.

The configuration of the tape head 126 according to one embodimentincludes multiple modules, preferably three or more. In awrite-read-write (W-R-W) head, outer modules for writing flank one ormore inner modules for reading. Referring to FIG. 3, depicting a W-R-Wconfiguration, the outer modules 252, 256 each include one or morearrays of writers 260. The inner module 254 of FIG. 3 includes one ormore arrays of readers 258 in a similar configuration. Variations of amulti-module head include a R-W-R bead (FIG. 4), a R-R-W head, a W-W-Rhead, etc. In yet other variations, one or more of the modules may haveread/write pairs of transducers. Moreover, more than three modules maybe present. In further approaches, two outer modules may flank two ormore inner modules, e.g., in a W-R-R-W, a R-W-W-R arrangement, etc. Forsimplicity, a W-R-W head is used primarily herein to exemplifyembodiments of the present invention. One skilled in the art apprisedwith the teachings herein will appreciate how permutations of thepresent invention would apply to configurations other than a W-R-Wconfiguration.

FIG. 5 illustrates a magnetic head 126 according to one embodiment ofthe present invention that includes first, second and third modules 302,304, 306 each having a tape bearing surface 308, 310, 312 respectively,which may be flat, contoured, etc. Note that while the term “tapebearing surface” appears to imply that the surface facing the tape 315is in physical contact with the tape bearing surface, this is notnecessarily the case. Rather, only a portion of the tape may be incontact with the tape bearing surface, constantly or intermittently,with other portions of the tape riding (or “flying”) above the tapebearing surface on a layer of air, sometimes referred to as an “airbearing”. The first module 302 will be referred to as the “leading”module as it is the first module encountered by the tape in a threemodule design for tape moving in the indicated direction. The thirdmodule 306 will be referred to as the “trailing” module. The trailingmodule follows the middle module and is the last module seen by the tapein a three module design. The leading and trailing modules 302, 306 arereferred to collectively as outer modules. Also note that the outermodules 302, 306 will alternate as leading modules, depending on thedirection of travel of the tape 315.

In one embodiment, the tape bearing surfaces 308, 310, 312 of the first,second and third modules 302, 304, 306 lie on about parallel planes(which is meant to include parallel and nearly parallel planes, e.g.,between parallel and tangential as in FIG. 6), and the tape bearingsurface 310 of the second module 304 is above the tape bearing, surfaces308, 312 of the first and third modules 302, 306. As described below,this has the effect of creating the desired wrap angle α₂ of the taperelative to the tape bearing surface 310 of the second module 304.

Where the tape bearing surfaces 308, 310, 312 lie along parallel ornearly parallel yet offset planes, intuitively, the tape should peel offof the tape bearing surface 308 of the leading module 302. However, thevacuum created by the skiving, edge 318 of the leading module 302 hasbeen found by experimentation to be sufficient to keep the tape adheredto the tape bearing surface 308 of the leading module 302. The trailingedge 320 of the leading module 302 (the end from which the tape leavesthe leading module 302) is the approximate reference point which definesthe wrap angle α₂ over the tape bearing surface 310 of the second module304. The tape stays in close proximity to the tape bearing surface untilclose to the trailing edge 320 of the leading module 302. Accordingly,read and/or write elements 322 may be located near the trailing edges ofthe outer modules 302, 306. These embodiments are particularly adaptedfor write-read-write applications.

A benefit of this and other embodiments described herein is that,because the outer modules 302, 306 are fixed at a determined offset fromthe second module 304, the inner wrap angle α₂ is fixed when the modules302, 304, 306 are coupled together or are otherwise fixed into a head.The inner wrap angle α₂ is approximately tan⁻¹ (δ/W) where δ is theheight difference between the planes of the tape bearing surfaces 308,310 and W is the width between the opposing ends of the tape bearingsurfaces 308, 310. An illustrative inner wrap angle α₂ is in a range ofabout 0.5° to about 1.1°, though can be any angle required by thedesign.

Beneficially, the inner wrap angle α₂ may be set slightly less on theside of the module 304 receiving the tape (leading edge) than the innerwrap angle α₃ on the trailing edge, as the tape 315 rides above thetrailing module 306. This difference is generally beneficial as asmaller α₃ tends to oppose what has heretofore been a steeper exitingeffective wrap angle.

Note that the tape bearing surfaces 308, 312 of the outer modules 302,306 are positioned to achieve a negative wrap angle at the trailing edge320 of the leading module 302. This is generally beneficial in helpingto reduce friction due to contact with the trailing edge 320, providedthat proper consideration is given to the location of the crowbar regionthat forms in the tape where it peels off the head. This negative wrapangle also reduces flutter and scrubbing damage to the elements on theleading module 302. Further, at the trailing module 306, the tape 315flies over the tape hearing surface 312 so there is virtually no wear onthe elements when tape is moving in this direction. Particularly, thetape 315 entrains air and so will not significantly ride on the tapebearing surface 312 of the third module 306 (some contact may occur).This is permissible, because the leading module 302 is writing while thetrailing module 306 is idle.

Writing and reading functions are performed by different modules at anygiven time. In one embodiment, the second module 304 includes aplurality of data and optional servo readers 331 and no writers. Thefirst and third modules 302, 306 include a plurality of writers 322 andno readers, with the exception that the outer modules 302, 306 mayinclude optional servo readers. The servo readers may be used toposition the head during reading and/or writing operations. The servoreader(s) on each module are typically located towards the end of thearray of readers or writers.

By having only readers or side by side writers and servo readers in thegap between the substrate and closure, the gap length can besubstantially reduced. Typical heads have piggybacked readers andwriters, where the writer is formed above each reader. A typical gap is25-35 microns. However, irregularities on the tape may tend to droopinto the gap and create gap erosion. Thus, the smaller the gap is thebetter. The smaller gap enabled herein exhibits fewer wear relatedproblems.

In some embodiments, the second module 304 has a closure, while thefirst and third modules 302, 306 do not have a closure. Where there isno closure, preferably a hard coating is added to the module. Onepreferred coating is diamond-like carbon (DLC).

In the embodiment shown in FIG. 5, the first, second, and third modules302, 304, 306 each have a closure 332, 334, 336, which extends the tapebearing surface of the associated module, thereby effectivelypositioning the read write elements away horn the edge of the tapebearing surface. The closure 332 on the second module 304 can be aceramic closure of a type typically found on tape heads. The closures334, 336 of the first and third modules 302, 306, however, may beshorter than the closure 332 of the second module 304 as measuredparallel to a direction of tape travel over the respective module. Thisenables positioning the modules closer together. One way to produceshorter closures 334, 336 is to lap the standard ceramic closures of thesecond module 304 an additional amount. Another way is to plate ordeposit thin film closures above the elements during thin filmprocessing. For example, a thin film closure of a hard material such asSendust or nickel-iron alloy (e.g., 45/55) can be formed on the module.

With reduced-thickness ceramic or thin film closures 334, 336 or noclosures on the outer modules 302, 306, the write-to-read gap spacingcan be reduced to less than about 1 mm, e.g., about 0.75 mm, or 50% lessthan standard LTO tape head spacing. The open space between the modules302, 304, 306 can still be set to approximately 0.5 to 0.6 mm, which insome embodiments is ideal for stabilizing tape motion over the secondmodule 304.

Depending on tape tension and stiffness, it may be desirable to anglethe tape bearing, surfaces of the outer modules relative to the tapebearing surface of the second module. FIG. 6 illustrates an embodimentwhere the modules 302, 304, 306 are in a tangent or nearly tangent(angled) configuration. Particularly, the tape bearing surfaces of theouter modules 302, 306 are about parallel to the tape at the desiredwrap angle α₂ of the second module 304. In other words, the planes ofthe tape bearing surfaces 308, 312 of the outer modules 302, 306 areoriented at about the desired wrap angle α₂ of the tape 315 relative tothe second module 304. The tape will also pop off of the trailing module306 in this embodiment, thereby reducing wear on the elements in thetrailing module 306. These embodiments are particularly useful forwrite-read-write applications. Additional aspects of these embodimentsare similar to those given above.

Typically, the tape wrap angles may be set about midway between theembodiments shown in FIGS. 5 and 6.

FIG. 7 illustrates an embodiment where the modules 302, 304, 306 are inan overwrap configuration. Particularly, the tape bearing surfaces 308,312 of the outer modules 302, 306 are angled slightly more than the tape315 when set at the desired wrap angle α₂ relative to the second module304. In this embodiment, the tape does not pop off of the trailingmodule, allowing it to be used for writing or reading. Accordingly, theleading and middle modules can both perform reading and/or writingfunctions while the trailing module can read any just-written data.Thus, these embodiments are preferred for write-read-write,read-write-read, and write-write-read applications. In the latterembodiments, closures should be wider than the tape canopies forensuring read capability. The wider closures will force a widergap-to-gap separation. Therefore a preferred embodiment has awrite-read-write configuration, which may use shortened closures thatthus allow closer gap-to-gap separation.

Additional aspects of the embodiments shown in FIGS. 6 and 7 are similarto those given above.

A 32 channel version of a multi-module head 126 may use cables 350having leads on the same pitch as current 16 channel piggyback LTOmodules, or alternatively the connections on the module may beorgan-keyboarded for a 50% reduction in cable span. Over-under, writingpair unshielded cables can be used for the writers, which may haveintegrated servo readers.

The outer wrap angles α₁ may be set in the drive, such as by guides ofany type known in the art, such as adjustable rollers, slides, etc. Forexample, rollers having an offset axis may be used to set the wrapangles. The offset axis creates an orbital arc of rotation, allowingprecise alignment of the wrap angle α₁.

To assemble any of the embodiments described above, conventional u-beamassembly can be used. Accordingly, the mass of the resultant head can bemaintained or even reduced relative to heads of previous generations. Inother approaches, the modules may be constructed as a unitary body.Those skilled in the art, armed with the present teachings, willappreciate that other known methods of manufacturing such heads may beadapted for use in constructing such heads.

The advent of improved PES and velocity measurements allow velocity tobe measured below 0.5 m/sec, where previously velocity was only able tobe measured down to 1.5 m/sec. Tape velocity is typically derived fromthree different methods: primary velocity, secondary velocity and reelmotor counts. A primary velocity (Vpri) may be derived from a servopattern on a tape and is generally a very accurate velocity measurement.A secondary velocity (Vsec) may be derived from the motor pulse-widthmodulation (PWM) voltage. A tertiary velocity (Vtert) may also bederived from the reel motor counts, e.g., hall sensor counts.

Changes in the tape velocity often affect friction measurements and viceversa. A previous method of friction measurement accumulated a velocityerror on a more or less continual basis and subsequently calculates afriction based on that accumulated error. However, such previous methodis inaccurate because velocity may rapidly change during acceleration ordeceleration, and where velocity is valid or invalid, the accumulatederror may not accurately represent the velocity error that is a functionof friction only. Consequently, previous friction measurements weresubject to signals that cause erroneous tape friction values to bemeasured and used in the drive, resulting in such issues as abnormalacceleration rates due to current limiting. For example, where thefriction is erroneously large, the friction share of allowable currentmay be disproportionately large, limiting the current available foracceleration and thus reducing the acceleration rate. This reducedacceleration rate may cause acceleration/deceleration time-outs to occurand tape motion issues.

Embodiments of the present invention overcome the aforementioneddrawbacks by providing a system, method and computer program product forimproving tape friction measurements by reducing and/or eliminating theerroneous friction values. These erroneous tape friction measurementsmay be eliminated in some embodiments by ensuring the accumulatedvelocity error is primarily or strictly a function of tape friction andnot due to the velocity switching between valid and invalid or due tochanging velocity from acceleration or deceleration. Preferably, asystem, method and computer program product may include velocity errorcalculations in the friction measurements when the primary velocity isvalid and when the velocity error is less than a predetermined value fora predetermined time period.

FIG. 8 shows a method 800 for measuring tape friction according to oneillustrative embodiment. As an option the present method 800 may beimplemented in conjunction with features from any other embodimentslisted here such as those shown in the other FIGS. Of course, however,this method 800 and others presented herein may be used in variousapplications and/or permutations, which may or may not be related to theillustrative embodiments listed herein. Further, the method 800presented herein may be carried out in any desired environment.Moreover, more or less operations than those shown in FIG. 8 may beincluded in method 800, according to various embodiments.

As shown in FIG. 8 according to one approach, the method 800 includessetting a default friction value to a predetermined value. See operation802. In one embodiment, the predetermined value may be a fixed defaultfriction value that is always used, may be calculated in a previousiteration, may be based on blown or estimated friction associated with atape drive, such as friction arising from the spinning of the drivemotors, movement of the roller bearings, movement of the tape across theroller bearings, movement of the tape across the tape head, etc., or anycombination thereof.

The method 800 also includes determining whether a primary velocity isvalid. See operation 804. In one embodiment, primary velocity is derivedfrom one or more read back signals from one or more sensors reading atape. As used herein, read back signals may include, but are not limitedto, servo patterns, longitudinal positional (LPOS) information, etc. orother read back signals as would be understood by one having skill inthe art upon reading the present disclosure.

Additionally, the method 800 includes determining a velocity error inoperation 806. In one embodiment, the velocity error may be calculatedbased on a difference between the primary velocity and a referencevelocity. As used herein, the reference velocity may correspond to thedesired or target velocity of the tape, according to one approach.Further, the velocity error may be positive or negative according toanother embodiment.

In operation 808, the method 800 includes determining whether thevelocity error is in a predetermined range. The range may be chosenbased on experimental evaluation find an optimum value based on thedrive, motors, tape velocities, etc. in a particular tape drive, aswould be determinable by one skilled in the art without undueexperimentation. In one embodiment, the predetermined range may be basedon a range of values corresponding to a constant tape operatingvelocity. For example, the predetermined range may include valuesbetween ±0.0625 m/s, in one approach.

With continued reference to FIG. 8, the method includes accumulating thevelocity error when the velocity error is determined to be in thepredetermined range. See operation 810. In one embodiment, accumulatingthe velocity error may include averaging one or more velocity errorsthat are determined to be in the predetermined range.

In one embodiment, the method 800 may further comprise resetting theaccumulated velocity error to a default value when the primary velocityis not valid. For example, in one approach, the accumulated velocityerror may be reset to a default value of zero when the primary velocityis not valid.

In another embodiment, the method 800 may further comprise resetting theaccumulated velocity error to a default value when the velocity error isnot within the predetermined range.

Again, with reference to FIG. 8, the method 800 includes repeating,until a time period has elapsed, each of: the determining the velocityerror, the determining whether the velocity error is in thepredetermined range, and the accumulating the velocity error when thevelocity error is determined to be in the predetermined range. Seeoperation 812. As used herein the time period, and/or any intervalbetween periods, may be periodic, predetermined, varied, calculated,received, scaled based on some criteria such as the tape velocity,calculated based on some criteria such as the rate at which frictionchanges in a tape drive system, etc. For example, in one embodiment, thetime period may be 1 second.

According to another embodiment, the method 800 may further compriserepeating the determining whether the primary velocity error is validuntil a predetermined time period has elapsed. In yet anotherembodiment, the method 800 may also comprise resetting the accumulatedvelocity error to a default value when the primary velocity error is notvalid.

As shown in FIG. 8, the method 800 also includes calculating a newfriction value based on the accumulated velocity error. In oneembodiment, the new friction value, New_Friction, may be calculatedaccording to: New_Friction=Default_Friction+gain*(Verr_accum/sample),where Default_Friction is the predetermined default friction value whichmay be a fixed default friction value that is always used, may be adefault friction value calculated in a previous iteration, etc.; gain isa representation of current (e.g. current as applied to the motor);Verr_accum is accumulated velocity error during a time period; andsample is a number of samples taken in the time period. For example, inone embodiment, velocity error may be accumulated every 800 microsecondsduring a 1 second time period, thus resulting in 1250 samples.

In another embodiment, the new friction value may be used to adjust amotor speed to compensate for the friction. In yet another embodiment,the method 800 may further comprise resetting the accumulated velocityerror to a default value after calculating the new friction value.

Preferably, the drive is operating in cruise state (steady statevelocity) before calculating the friction term. The friction term mayalso be calculated during acceleration and/or deceleration by applyingan additional velocity error term that comes from the tolerances of thesystem during acceleration and deceleration that are not present duringsteady state velocity. Such term may be reflective of error introducedin the acceleration/deceleration current, and can be predetermined, readfrom a table, calculated on the fly, etc.

FIG. 9 depicts an exemplary method 900, presented by way of exampleonly, to illustrate one embodiment. As an option, the present method 900may be implemented in conjunction with features from any otherembodiments listed herein, such as those shown in the other FIGS. Ofcourse, however, this method 900 and others presented herein may be usedin various applications and/or permutations, which may or may not berelated to the illustrative embodiments listed herein. Further, themethod 900 presented herein may be carried out in any desiredenvironment. Moreover, more or less operations than those shown in FIG.9 may be included in method 900, according to various embodiments.

A shown in FIG. 9 according to one approach, a method 900 may includesetting a default friction value to a predetermined value. See operation902. The method 900 may also include resetting an accumulated velocityerror to a default value. See operation 904.

Additionally, the method 900 may include determining whether a primaryvelocity is valid. See operation 906. If operation 906 results in a YES(Y) determination, the method 900 may further include determiningwhether the velocity error is in a predetermined range of ±0.0625 m/s inoperation 908. In one embodiment, the velocity error may be calculatedbased on a difference between the primary velocity and a referencevelocity. If operation 906 results in a NO (N) determination, the method900 may loop back to operation 902 where the accumulated velocity erroris reset to the default value. In one approach, the default value mayequal zero.

With continued reference to FIG. 9, if the velocity error is determinedto be in the predetermined range of ±0.0625 m/s (i.e. operation 908results in a YES determination), the velocity error is accumulated asshown in operation 910. However, if the velocity is determined to falloutside the predetermined range of ±0.0625 m/s (i.e. operation 908results in a N determination), the method 900 may loop back to operation902 where the accumulated velocity error is reset to the default value.

Operation 912 involves determining whether a time period of 1 second haselapsed. If operation 912 results in a YES determination, a new frictionvalue is calculated based on the accumulated velocity error. Seeoperation 914. In one embodiment, the new friction value, New_Friction,may be calculated according to:New_Friction=Default_Friction+gain*(Verr_accum/sample), whereDefault_Friction is the predetermined default friction value which maybe a fixed delimit friction value that is always used may be a defaultfriction value calculated in a previous iteration, etc.; gain is arepresentation of current (e.g. current as applied to the motor);Verr_accum is accumulated velocity error during a time period; andsample is a number of samples taken in the time period.

If, however, operation 912 results in a NO determination, the method 900may loop back to repeat operations 906, 908, 910 and 912.

This method or set of operations described in FIG. 9 may run during tapemotion to continuously monitor and update the tape friction.

Referring now to FIG. 10, a method 1000 for measuring tape friction isshown according to another illustrative embodiment. As an option, thepresent method 1000 may be implemented in conjunction with features fromany other embodiments listed herein, such as those shown in the otherFIGS. Of course, however, this method 1000 and others presented hereinmay be used in various applications and/or permutations, which may ormay not be related to the illustrative embodiments listed herein.Further, the method 1000 presented herein may be carried out in anydesired environment. Moreover, more or less operations than those shownin FIG. 10 may be included in method 1000, according to variousembodiments.

As shown in FIG. 10, the method 1000 includes setting a default frictionvalue to a predetermined value. See operation 1002. In one embodiment,the predetermined value may be a fixed default friction value that isalways used, may be calculated in a previous iteration, may be based onknown or estimated friction associated with a tape drive, such asfriction arising from the spinning of the drive motors, movement of theroller bearings, movement of the tape across the roller bearings,movement of the tape across the tape head, etc., or any combinationthereof.

The method 1000 also includes determining whether a primary velocity isvalid, wherein the primary velocity is derived from one or more readback signals from one or more sensors reading the tape. See operation1004.

Additionally, the method 1000 includes determining a velocity error inoperation 1006. In one embodiment, the velocity error may be calculatedbased on a difference between the primary velocity and a referencevelocity.

The method 1000 further includes determining whether the velocity erroris in a predetermined range. See operation 1008. The predetermined rangemay be chosen based on experimental evaluation to find an optimum valuebased on the drive, motors, tape velocities, etc. in a particular tapedrive, as would be determinable by one skilled in the art without undueexperimentation. In one embodiment, the predetermined range may be basedon a range of values corresponding to a constant tape velocity. Forexample, the predetermined range may include values less than 0.0625m/s, in one approach.

When the primary velocity is not valid or when the velocity error is notwithin the predetermined range, the velocity error is reset to a defaulterror. See operation 1010. For example, in one approach, the accumulatedvelocity error may be reset to a default value of zero when the primaryvelocity is not valid or when the velocity error is not within thepredetermined range. When the velocity error is determined to be in thepredetermined range, the velocity error is accumulated. See operation1012.

In operation 1014, the method 1000 includes repeating, until a timeperiod has elapsed, each of: the determining whether the primaryvelocity is valid, the determining the velocity error, the determiningwhether the velocity error is in the predetermined range and theaccumulating the velocity error when the velocity error is determined tobe in the predetermined range.

In one embodiment, a timer may time the time period. For example, in oneapproach, the timer may time out when the time period has elapsed. Oncethe time period has elapsed, the timer may then be reset, e.g. to zero,such that each of: the determining whether the primary velocity isvalid, the determining the velocity error, the determining whether thevelocity error is in the predetermined range, and the accumulating thevelocity error when the velocity error is determined to be in thepredetermined range, may be repeated until the time period has onceagain elapsed, in another approach. In yet another approach, once thetime period has elapsed, each of the determining whether the primaryvelocity is valid, the determining, the velocity error, the determiningwhether the velocity error is in the predetermined range, and theaccumulating the velocity error when the velocity error is determined tobe in the predetermined range, may be repeated until a second timeperiod has elapsed. In one approach, the time period and second timeperiod may be the same or different.

In operation 1016, a new friction value is calculated based on theaccumulated velocity error. In one embodiment, the new friction value,New_Friction, may be calculated according to:New-Friction=Default_Friction+gain*(Verr_accum/sample), where DefaultFriction is the predetermined default friction value; gain is arepresentation of current; Verr_acum is the accumulated velocity errorduring a timer period; and sample is the number of samples taken in thetime period. In addition, the new friction value is used to adjust amotor speed.

The method 1000 also includes resetting the accumulated velocity errorto the default value after calculating the new friction value. Seeoperation 1018.

It will be clear that the various features of the foregoing systemsand/or methodologies may be combined in any way, creating a plurality ofcombinations from the descriptions presented above.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as “logic,” a “circuit,” “module,” or“system.” Furthermore, aspects of the present invention may take theform of a computer program product embodied in one or more computerreadable medium(s) having computer readable program code embodiedthereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a non-transitory computer readable storage medium. A computerreadable storage medium may be, for example, but not limited to, anelectronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, or device, or any suitable combinationof the foregoing. More specific examples (a non-exhaustive list) of thenon-transitory computer readable storage medium include the following: aportable computer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a portable compact disc read-only memory (e.g.,CD-ROM), a Blu-ray disc read-only memory (BD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a non-transitory computerreadable storage medium may be any tangible medium that is capable ofcontaining, or storing a program or application for use by or inconnection with an instruction execution system, apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a non-transitory computer readable storage medium and that cancommunicate, propagate, or transport a program for use by or inconnection with an instruction execution system, apparatus, or device,such as an electrical connection having one or more wires, an opticalfibre, etc.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fibre cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer,for example through the Internet using an Internet Service Provider(ISP).

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart(s) and/orblock diagram block or blocks.

It will be further appreciated that embodiments of the present inventionmay be provided in the form of a service deployed on behalf of acustomer.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. Thus, the breadth and scope of an embodiment of the presentinvention should not be limited by any of the above-described exemplaryembodiments, but should be defined only in accordance with the followingclaims and their equivalents.

What is claimed is:
 1. A method, comprising: determining whether aprimary velocity of a tape is valid and/or in a steady state;accumulating a velocity error over a predetermined time period upondetermining the primary velocity is valid and/or in a steady state; andcalculating a friction value based at least in part on an average of theaccumulated velocity error.
 2. The method as recited in claim 1, whereinthe primary velocity is derived from read back signals from one or moresensors reading the tape.
 3. The method as recited in claim 1, whereinthe velocity error is represented by a difference between the primaryvelocity and a reference velocity.
 4. The method as recited in claim 1,wherein the predetermined time period of about 1 second or greater. 5.The method as recited in claim 1, wherein determining whether theprimary velocity is in a steady state comprises determining whether thevelocity error is in a predetermined range.
 6. The method as recited inclaim 5, wherein the predetermined range is between about ±0.0625 m/s.7. The method as recited in claim 1, wherein the average of theaccumulated velocity error is represented by: Verr_accum/sample, whereVerr_accum is the velocity error accumulated over the predetermined timeperiod, and sample corresponds to a number of samples of the velocityerror taken over the predetermined time period.
 8. A method as recitedin claim 7, wherein the friction value (New_Friction) is calculatedaccording to: New_Friction=Default_Friction+gain*(Verr_avg), whereDefault_Friction is a default friction value, gain is a representationof current, and (Verr_avg) is the average of the accumulated velocityerror over the predetermined time period.
 9. The method as recited inclaim 8, wherein the default friction value is a previously calculatedfriction value.
 10. The method as recited in claim 8, wherein aftercalculating the friction value, the method further comprises setting thefriction value as the default friction value.
 11. The method as recitedin claim 1, wherein the method further includes adjusting a motor speedbased on the friction value.
 12. A system, comprising: a magnetic head;a drive mechanism for passing a magnetic medium over the magnetic head;and a controller electrically coupled to the magnetic head, wherein thecontroller is configured and/or programmable to: determine whether aprimary velocity of a tape is valid and/or in a steady state; accumulatea velocity error over a predetermined time period upon determining theprimary velocity is valid and/or in a steady state; calculate a frictionvalue based at least in part on an average of the accumulated velocityerror; and adjust a motor speed of the drive mechanism based on thefriction value.
 13. The system as recited in claim 12, wherein theprimary velocity is derived from read back signals from one or moresensors reading the tape.
 14. The system as recited in claim 12, whereinthe velocity error is represented by a difference between the primaryvelocity and a reference velocity.
 15. The system as recited in claim12, wherein the velocity error is accumulated over a predetermined timeperiod of about 1 second or greater.
 16. The system as recited in claim12, wherein the primary velocity is determined to be in a steady statewhen the velocity error is in a predetermined range between about±0.0625 m/s.
 17. The system as recited in claim 12, wherein the averageof the accumulated velocity error corresponds to the velocity erroraccumulated over the predetermined time period divided by a number ofvelocity error samples taken over the predetermined time period.
 18. Thesystem as recited in claim 17, wherein the friction value (New_Friction)is calculated according to:New_Friction=Default_Friction+gain*(Verr_avg), where Default_Friction isa default friction value, gain is a representation of current, Verr_avgis the average of the accumulated velocity error over the predeterminedtime period.
 19. The system as recited in claim 18, wherein the defaultfriction value is zero.
 20. The system as recited in claim 18, whereinthe default friction value is a previously calculated friction value.21. The system as recited in claim 18, wherein after the friction valueis calculated, the controller is further configured and/or programmableto set the friction value as the default friction value.
 22. A computerprogram product, the computer program product comprising: anon-transitory computer readable storage medium having programinstructions embodied therewith, the program instructions readableand/or executable by a processor to cause the processor to: determinewhether a primary velocity of a tape is valid and/or in a steady state;accumulate a velocity error over a predetermined time period upondetermining the primary velocity is valid and/or in a steady state; andcalculate a friction value based at least in part on an average of theaccumulated velocity error, wherein the velocity error is represented bya difference between the primary velocity and a reference velocity. 23.The computer program product as recited in claim 22, wherein the primaryvelocity is derived from read back signals from one or more sensorsreading the tape.
 24. The computer program product as recited in claim22, wherein the primary velocity is determined to be in a steady statewhen the velocity error is in a predetermined range between about±0.0625 m/s.
 25. A computer program product as recited in claim 22,wherein the friction value (New_Friction) is calculated according to:New_Friction=Default_Friction+gain*(Verr_avg), where Default_Friction isa default friction value, gain is a representation of current, andVerr_avg is the average of the accumulated velocity error over thepredetermined time period, Verr_avg corresponding to the velocity erroraccumulated over the predetermined time period divided by a number ofvelocity error samples taken over the predetermined time period; andwherein the program instructions are further readable and/or executableby the processor to cause the processor to adjust a motor speed based onthe friction value.